package com.testing.class8;

import java.util.Arrays;

public class SelectionSort {
    public static void main(String[] args) {
        int[] input={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
        selectionsort(input);

    }

    public static void selectionsort(int[] a){
        //需要进行14(length-1)轮比较。
        for(int lun=1;lun<=a.length-1;lun++){
            //假设第一个数是最小值,当前的位置是最小数的下标。
            int minnum=a[lun-1];
            int minindex=lun-1;
            //下标：  下标为lun-1的数最小，  从lun 到length-1
            for(int index=a.length-1;index>=lun-1;index--){
                //如果当前的值小于最小值，那么更新最小值和下标
                //每次用当前下标的值和最小值进行比较。
                if(a[index]>minnum){
                    minnum=a[index];
                    minindex=index;
                }//否则不做操作。
            }
            //循环完成之后，找到最小值，和它的下标了。
            //交换最小值和第一个数的位置。
            if(minindex!=lun-1){
                //相当于已经有一个临时变量minnum了，交换的时候，先换a[minindex]
                a[minindex]=a[lun-1];
                a[lun-1]=minnum;
            }
            System.out.println(Arrays.toString(a));
        }


    }


}
